package com.sort;

import java.util.Arrays;

public class Code02_SelectionSort {
    // public static void selectionSort(int[] arr) {
    //     int min = arr[0];
    //     for (int i = 0; i < arr.length; i++) {
    //         for (int j = 1; j < arr.length; j++) {
    //             if(min > arr[j]) {
    //                 swap(arr, i, j);
    //             }
    //         }
    //         System.out.println(Arrays.toString(arr));
    //
    //     }
    // }

    public static void selectionSort(int[] arr) {
        int N = arr.length;
        for (int i = 0; i < N - 1; i++) {
            int minIndex = i;
            for (int j = i + 1; j < N; j++) {
                if (arr[minIndex] > arr[j]) {
                    minIndex = j;
                }
            }
            swap(arr, i, minIndex);
        }


    }

    public static void swap(int arr[], int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }


    public static void main(String[] args) {
        int[] arr = new int[]{3, 6, 2, 1, 5, 7};
        selectionSort(arr);

        Arrays.stream(arr).forEach(System.out::println);
    }
}
